工控網(wǎng)首頁
>

應(yīng)用設(shè)計

>

串口通訊在CCD相機(jī)系統(tǒng)中的應(yīng)用

串口通訊在CCD相機(jī)系統(tǒng)中的應(yīng)用

2010/5/5 15:40:00
      1引言

  CCD相機(jī)系統(tǒng)在運(yùn)行過程中,有許多來自工作現(xiàn)場的數(shù)據(jù)需要實時采集,處理和記錄。以便上級管理系統(tǒng)及時掌握相機(jī)的工作狀態(tài)。并且上級管理系統(tǒng)需要實時調(diào)整相機(jī)參數(shù),并發(fā)出相應(yīng)的指令,使得相機(jī)采集到的圖像像質(zhì)更好。

  MCS-51單片機(jī)內(nèi)部含有一個可編程全雙工串行通信接口,該接口電路不僅能同時進(jìn)行數(shù)據(jù)的發(fā)送和接收,也可作為一個同步移位寄存器使用。MCS-51單片機(jī)串行口的結(jié)構(gòu)由串行口控制寄存器、發(fā)送和接收電路等三部分組成。

  串行通信是一種能把二進(jìn)制數(shù)據(jù)按位傳送的通信,故它所需傳輸線條數(shù)極少,特別適用于分級、分層和分布式控制系統(tǒng)以及遠(yuǎn)程通信之中[1]。根據(jù)實際使用的需要,CCD相機(jī)系統(tǒng)與上級管理系統(tǒng)之間的通訊由單片機(jī)串口來完成。本文對該系統(tǒng)中的串行通信系統(tǒng)加以介紹。

  2系統(tǒng)串行通訊體系

  按照串行數(shù)據(jù)的同步方式,串行通信可以分為同步通信和異步通信兩類。本系統(tǒng)采用同步通信方式。數(shù)據(jù)的輸入和輸出接口有各自的時鐘來控制,這兩個時鐘源彼此獨立,互不同步[1]。

  由于CCD相機(jī)系統(tǒng)的數(shù)據(jù)輸入和數(shù)據(jù)輸出不會在同一時刻進(jìn)行,本系統(tǒng)的串行通訊體系結(jié)構(gòu)包含以下幾個部分:單片機(jī)小系統(tǒng),串行數(shù)據(jù)輸入模塊,串行數(shù)據(jù)輸出模塊。其中單片機(jī)小系統(tǒng)結(jié)構(gòu)簡單,性能成熟,在這里不再贅述。現(xiàn)就串口輸入、串口輸出模塊做出說明:

  2.1串行數(shù)據(jù)輸入模塊

  相機(jī)參數(shù)的注入由上級管理系統(tǒng)負(fù)責(zé),CCD相機(jī)系統(tǒng)通過數(shù)據(jù)總線將參數(shù)直接讀入相機(jī)系統(tǒng)中的單片機(jī)小系統(tǒng)。

  數(shù)據(jù)輸入門控信號通過單片機(jī)P1口連接。當(dāng)上級管理系統(tǒng)欲向CCD相機(jī)系統(tǒng)注入調(diào)整參數(shù)指令時,先使門控信號有效,單片機(jī)系統(tǒng)即準(zhǔn)備好接收數(shù)據(jù);然后在時鐘信號的配合下,一位一位地讀入數(shù)據(jù),并通過數(shù)據(jù)總線將并行數(shù)據(jù)讀入單片機(jī)。

  2.2串行數(shù)據(jù)輸出模塊

  在每個間隔時間到來時,CCD相機(jī)系統(tǒng)向上級數(shù)據(jù)管理系統(tǒng)送出相機(jī)系統(tǒng)的參數(shù),以備檢查相機(jī)系統(tǒng)的狀態(tài)是否正常。電路設(shè)計如圖1。在方式0下,串行數(shù)據(jù)輸出電路通過幾個串入并出的移位寄存器,由MCS-51單片機(jī)的RxD線串行輸出數(shù)據(jù),并從移位寄存器的最高位串行輸出。



  3系統(tǒng)的串口通訊協(xié)議

  3.1系統(tǒng)串口通訊協(xié)議特點

  由于傳輸距離和可靠性的要求,該通訊協(xié)議具備如下特點[2]:

(1)采用一對一的通訊方式,無握手過程。通訊中,上級管理系統(tǒng)為主站,CCD相機(jī)系統(tǒng)為從站;
(2) 為了有效地識別相機(jī)參數(shù)。針對各項指令參數(shù)設(shè)定了各自的命令代碼,但幀長度保持不變。
(3)由于校驗編碼是差錯檢測的核心,對提高數(shù)據(jù)傳輸?shù)目煽啃苑浅V匾?,且奇偶校驗方式簡單可行,故采用奇偶校驗方式保證數(shù)據(jù)傳送的準(zhǔn)確性;

  4系統(tǒng)串口通訊軟件實現(xiàn)

  4.1通訊協(xié)議格式說明

  以下對本系統(tǒng)的具體通訊協(xié)議格式進(jìn)行說明。該協(xié)議的數(shù)據(jù)包結(jié)構(gòu)大體如下所示:


  (1)幀頭

  為了準(zhǔn)確發(fā)送和接收串口數(shù)據(jù).將幀頭設(shè)定為OxAA(10101010)。

  (2)命令代碼

  在本系統(tǒng)的通訊協(xié)議中,針對各項指令參數(shù)設(shè)定了各自的命令代碼,這里不作具體描述。
(3)數(shù)據(jù)代碼

  數(shù)據(jù)代碼緊跟在命令代碼之后,用戶可根據(jù)情況取5位、6位、7位或8位、低位在前高位在后。

  (4)奇偶校驗位

  奇偶校驗這一字節(jié)是按照通常的通訊協(xié)議標(biāo)準(zhǔn)來計算的。即:一幀數(shù)據(jù)除幀頭外其它字節(jié)的累加和[3-4]。

  4.2串口通訊的波特率

  波特率是每秒鐘傳送二進(jìn)制數(shù)碼的位數(shù),單位是bps(bit per second),即位/秒。波特率是串行通信的重要指標(biāo),用于表征數(shù)據(jù)傳輸?shù)乃俣取2ㄌ芈试礁?,?shù)據(jù)傳輸速度越快。

  通信的數(shù)據(jù)傳輸速率較高,通常可達(dá)56000bps或更高。但同步通信的缺點是要求發(fā)送時鐘和接收時鐘保持嚴(yán)格同步。

  4.3串口通訊軟件流程圖

  在充分了解用戶需求的基礎(chǔ)上,首先確定系統(tǒng)結(jié)構(gòu),進(jìn)而確定軟件開發(fā)平臺和工具,采用自頂向下、逐步求精的設(shè)計方法劃分軟件的功能模塊和功能單元,可提高軟件開發(fā)的效率。

本系統(tǒng)使用串口的方式0,用匯編語言編程。軟件流程圖(只包含串口通訊子程序)如圖2所示。

 

        5結(jié)束語

  用匯編語言進(jìn)行編程是實現(xiàn)串口通訊的一種較可靠的方式。本通訊模塊設(shè)計了具有自身特點的串口通訊協(xié)議,有效解決了數(shù)據(jù)管理系統(tǒng)與CCD相機(jī)系統(tǒng)間的通訊問題。已經(jīng)成功應(yīng)用于某CCD相機(jī)系統(tǒng)。本設(shè)計對其他類型的串行通訊體系有一定的推廣和應(yīng)用價值。

  本文作者創(chuàng)新點:利用單片機(jī)串口,設(shè)計成串入并出的數(shù)據(jù)輸入口和串入串出的數(shù)據(jù)輸出口,硬件結(jié)構(gòu)簡單,性能可靠;使用在通訊中較少使用的串口方式0進(jìn)行通訊設(shè)計。

  參考文獻(xiàn)

        1 胡漢才。單片機(jī)原理及其接口技術(shù),清華大學(xué)出版社,1995:311~316。 
        2 陳力平,徐冠捷。基于單片機(jī)的串口擴(kuò)展器,微計算機(jī)信息,2006,22(3-2):1~3。
        3 陳輝。海上移動視頻監(jiān)控通信系統(tǒng)的設(shè)計和應(yīng)用。青島建筑工程學(xué)院學(xué)報,2005,26(4):1~3。 
        4 賈中青,王學(xué)軍,張曉東等??删幊炭刂破髋cPC機(jī)的通訊技術(shù)。工程技術(shù)應(yīng)用,2005,18(4):1~4。

投訴建議

提交

查看更多評論
其他資訊

查看更多

超越傳統(tǒng)直覺,MATLAB/Simulink助力重型機(jī)械的智能化轉(zhuǎn)型

新大陸自動識別精彩亮相2024華南國際工業(yè)博覽會

派拓網(wǎng)絡(luò)被Forrester評為XDR領(lǐng)域領(lǐng)導(dǎo)者

智能工控,存儲強(qiáng)基 | ??低晭砭手黝}演講

展會|Lubeworks路博流體供料系統(tǒng)精彩亮相AMTS展會